import axios from 'axios'
//在utils 目录中，新建 index.js 在文件中封装函数
//创建并到处获取定位城市的函数 getCurrentCity
export const getCurrentCity = () => {
    //判断 locationStorage中是否有定位城市
    const currentCity = JSON.parse(localStorage.getItem('now_city'))
    //如果没有，就使用首页中获取定位城市的代码来获取，并且存储到本地存储中，然后返回该城市的异常数据
    if (!currentCity) {
        return new Promise((resolve, reject) => {
            //通过 IP 定位获取到当前城市名称
            const myCity = new window.BMap.LocalCity();
            myCity.get(async item => {
                try {
                    //调取我们服务器的接口，换取项目中的城市信息
                    const { data: res } = await axios.get('http://localhost:8080/area/info', {
                        params: {
                            name: item.name
                        }
                    })
                    //存储到本地存储中
                    localStorage.setItem('now_city', JSON.stringify(res.body))
                    resolve(res.body)
                } catch (error) {
                    reject(error)
                }
            });
        })
    }
    //如果有，直接返回本地存储中的城市数据
    return Promise.resolve(currentCity)
}

//直接在index.js里面导出相关的方法
export { instance } from './api'
export { BASE_URL } from './url'

// 导出 auth 模块中的所有内容
export * from './auth'

//导出 city 模块中的所有内容
export * from './city'